home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
B-Book Series
/
(k)b3.d64
/
program97
< prev
next >
Wrap
Text File
|
2007-02-28
|
1KB
|
53 lines
0010 // PROGRAM 97
0020 //
0030 // COMELY KATE
0040 //
0050 // TO TEST FOR LEAP YEAR
0060 //
0070 DIM YEAR$ OF 10
0080 PRINT
0090 INPUT "ENTER YEAR ": YEAR$
0100 TESTLEAPYEAR
0110 END
0120 //
0130 PROC TESTLEAPYEAR
0140 CHECKVALIDENTRY
0150 PRINT
0160 IF NOT VALID THEN
0170 PRINT "INVALID ENTRY"
0180 ELSE
0190 YEARVAL:=VAL(YEAR$)
0200 IF YEARVAL MOD 400=0 OR YEARVAL MOD 4<>0 THEN
0210 PRINT YEARVAL," IS NOT A LEAP YEAR"
0220 ELSE
0230 PRINT YEARVAL," IS A LEAP YEAR"
0240 ENDIF
0250 ENDIF
0260 ENDPROC TESTLEAPYEAR
0270 //
0280 PROC CHECKVALIDENTRY
0290 DIM DIGITS$ OF 10
0300 DIGITS$:="0123456789"
0310 POSITION:=1
0320 VALID:=TRUE
0330 REPEAT
0340 IF YEAR$(POSITION) IN DIGITS$ THEN
0350 POSITION:=POSITION+1
0360 ELSE
0370 VALID:=FALSE
0380 ENDIF
0390 UNTIL POSITION>LEN(YEAR$) OR NOT VALID
0400 ENDPROC CHECKVALIDENTRY
9000 //
9010 FUNC VAL(S$) CLOSED
9020 // VERSION 0.14 ONLY : VERSION 2.00 USE KEYWORD VAL
9030 // INTEGER VALUES ONLY
9040 LENGTH:=LEN(S$)
9050 ONES:=ORD(S$(LENGTH))-ORD("0")
9060 IF LENGTH=1 THEN
9070 RETURN ONES
9080 ELSE
9090 RETURN ONES+VAL(S$(1:LENGTH-1))*10 // RECURSIVE CALL
9100 ENDIF
9110 ENDFUNC VAL